Оглавление
Нормальный порядок входа в сеть на GSM.
Ищу команду показывающую неготовность к работе с SMS
Как узнать абонентский номер SIM карты.
Подключение один модем — один модем.
Железо: семейство sim800.
Использовал AL Terminal 1.001.0061.
Блоки команд оформлены так что можно вставлять в терминал целиком. Для активации команд просто кликаем двойной мышью на строку и команда улетает в модем.
Все примеры использовались на практике с разной степенью успешности. Блоки команд часто дублируются чтобы не собирать по кускам то что нужно — это шпархгалка.
Вариант 1.
AT// Готовность модуля к работе
AT+CMGF=1//Выбор формата SMS
AT+CMGD=1,4//Удалить SMS
//+CPIN: READY
AT+CREG?// Тип регистрации в сети
Вариант 2. Скрипт нормально работал с Beeline.
AT//-OK
AT+CIURC=0//-OK
AT+GSMBUSY=1//-OK
AT+CCALR?//+CCALR: 1//OK
AT+CMGF=1//OK
AT+CMGD=1,4//OK
AT+CREG?//+CREG: 0,1//OK
AT+CSPN?//+CSPN: "Beeline",0//OK
AT// Готовность модуля к работе
AT+CMGF=1//Выбор формата SMS
//AT+CMGD=1,4//Удалить SMS
//+CPIN: READY
AT+CREG?//Тип регистрации в сети
AT+CMGS="+7xxxxxxxxxx"
123
спец симвхол в опен офисе не сохраняется
можно вставить ASCII код символа — 26
AT+CMGF=1//Выбор формата SMS!безэтогоerror
AT+CREG?//Тип регистрации в сети.норма-1Registered,home_network
AT+CMGS="+7xxxxxxxxxx"
Text SMS soobshenia " "
AT+CMGD=1,4//Удалить SMS
AT+CMGL=4,0//прочитать смс каким то способом
AT+CMGR=1,0//прочитать смс
AT+CIURC=0//OK//0 - отключает URC презентацию, 1 -вкл
AT+CPAS//0 модуль готов, 2 модуль ничего не гарантирует
AT+CMGR=1,0//+CMGR: 1,"",22//Прочитать СМС
AT+CREG?//+CREG: 0,1//OK//узнаем тип регистрации в сети
AT+CSPN?//+CSPN: "Beeline",0//OK
AT+CMGF=0//0 — PDU-формат (по умолчанию)/1 — текстовый формат
AT+CMGS=23//отправить 23 символа
0001000B919782198144F400080A04220435044104420021
AT+CPMS?//запрос инфы о хранилище
+CMTI: "SM",4//дождаться такого сообщния
AT+CMGR=1,0//прочитать SMS 1 — номер сообщения, 0 — изменить статус на «прочитано»
AT+CMGDA="DEL ALL"//очистить все сообщения
+CMTI:
"SM",1//дожаться
AT+CMGR=1,0//запросить прочтение
AT+CMGD=1,4//очистить
AT//Готовность модуля к работе
ATI//Запрос информации об устройстве
AT+CGMR//Запрос версии установленного ПО
AT+CCALR?//Готовность модуля совершать звонки
AT+CSQ//Запрос качества связи
AT+GSN//Запрос IMEI-модуля
AT+GSV//Запрос идентификационной информации модуля
AT+CBC//Напряжение питания
AT+CREG?//Тип регистрации в сети
AT+COPS?//Информация об операторе
AT+COPN//Получение списка всех операторов
AT+CPAS//Статус телефона GSM-модуля
AT+CIURC//Enable or Disable Initial URC Presentation/ включает или отключает URC презентацию
AT+GSMBUSY// Reject Incoming Call / отклонять входящие вызовы
AT+CCALR// Call Ready Query запрос готовности совершать вызовы
AT+CMGF=1//Выбор формата SMS
AT+CMGD//Удалить SMS
AT+CREG?//Тип регистрации в сети
AT+CSPN?//Получаем имя провайдера
AT+CMGR=1,0//Прочитать СМС
AT+CMGS //Отправить SMS
AT+CEER=?//Extended Error Report
AT+CMGF=1//Выбор формата SMS
AT+CREG?//Тип регистрации в сети.норма-1Registered,home_network
AT+CMGS="+7xxxxxxxxxx"
Text SMS soobshenia " "
AT+CMGD=1,4//Удалить SMS
AT+CMGL=4,0//прочитать смс каким то способом
AT+CMGR=1,0//прочитать смс
AT+CAOC=1//Советы по оплате1, TA деактивирует незапрошенный отчет о значении CCM 2 - активирует
AT+CEER=0//Расширенный отчет об ошибках
AT+CPAS//Статус активности телефона
AT+CSCA?//сервисный центр адрес
AT+GCAP//Запросить полный список возможностей TA
AT+GOI//Запросить глобальную идентификацию объекта
AT+CNETSCAN?//Проведение сетевого опроса, чтобы показать всю информацию о ячейках
AT+SRSPT?//контрольная ретрансляция SMS
AT+SRSPT=1//контрольная ретрансляция SMS//0 Включить ретрансляцию SMS
AT+CUSD=1,"*111#"//ussd запрос
AT+CPBS="ON"//эта и следующие две строки сохраняет номер телефона на сим и затем демонстрирует его.
AT+CPBW=1,"79XXXXXXXXX",129,"Voice"
AT+CNUM
AT+CPOWD=0//выключить немедленно
AT+CPOWD=1//выключить нормально
ATD+7xxxxxxxxxx;//Осуществить исходящий вызов (; - обязательна!)
AT+COLP=1//отследить ответ на исходящий вызов
Можно отследить если по тому что появляется незапрашиваемое уведомление RING
ATA//ответ на входящий звонок «поднять трубку»
ATS0=<n>//автоматический ответ после n звонков
Для SIM800 никаких дополнительных команд чтобы войти в режим с возможностью принятия команд не нужно.
//делаем входящий звонок с телефона
//видим RING в обмене
ATA//чтобы поднять трубку
//UNDER-VOLTAGE POWER DOWN — что это? возможно не хватило питания
Усиление микрофона.
AT+CMIC=0,15//задать усиление
//0 Main audio channel, 1 Aux audio channel, 2 Main audio channel hand free mode, 3 Aux audio channel hand free mode
//0 0dB, 1 +1.5dB, 2 +3.0 dB, 3 +4.5 dB, 4 +6.0 dB, 5 +7.5 dB, 6 +9.0 dB, 7 +10.5 dB, 8 +12.0 dB, 9 +13.5 dB, 10 +15.0 dB, 11 +16.5 dB, 12 +18.0 dB, 13 +19.5 dB, 14 +21.0 dB, 15 +22.5 dB
Изменить уровень усиления Бокового тона
AT+SIDET//0 Main audio channel, 1 Aux audio channel, 2 Main audio channel hand free mode, 3 Aux audio channel hand free mode
ни
AT// «пинг» по желанию
AT+DDET=1//включить режим распознавания DTMF
// OK//внезапный ответ
//… прошло время
// RING//внезапно кто то звонит
ATA//ответить на входящий звонок - «поднять трубку»
// OK//внезапный ответ
// +DTMF: 4//внезапный код тона
// NO CARRIER//внезапно положили трубку
//Теперь если нажимать цифровые кнопки на источнике звонка
//+DTMF: 8
//+DTMF: 5
//+DTMF: 4
AT+VTS=?
AT+VTS="1,4,#,5,6,*,A"//через запятую перечислены коды
После инициализации при успешном создании GPRS сеанса светодиод на GSM модуле начнет часто моргать.
В ответ на команду кроме ОК должна приходится такая же команда.
//Инициализация
AT+SAPBR=3,1,"CONTYPE","GPRS"// тип интернет соединения (CSD / GPRS)
AT+SAPBR=3,1,"APN","internet.beeline.ru"// OK
AT+SAPBR=3,1,"USER","beeline"// OK
AT+SAPBR=3,1,"PWD","beeline"// OK
AT+SAPBR=3,1,"APN","internet"// OK
AT+SAPBR=3,1,"USER","gdata"// OK для мегафона можно оставить пустым
AT+SAPBR=3,1,"PWD","gdata"// OK для мегафона можно оставить пустым
AT+SAPBR=1,1// Устанавливаем GPRS соединение
AT+HTTPINIT // Инициализация http сервиса
AT+HTTPPARA="CID",1// Установка CID параметра для http сессии
//Передача данных
//сайт в глобальной сети
//AT+HTTPPARA="URL","www.alexesd.com"//OK
AT+HTTPPARA="URL","www.alexesd.com/?a=777"
AT+HTTPACTION=0
//Локальный сервак
AT+HTTPPARA="URL","XXX.YYY.ZZZ.AAA:801"//OK
AT+HTTPPARA="URL","XXX.YYY.ZZZ.AAA:801/?a=iz5300"//локальный сервер
AT+HTTPPARA="URL","XXX.YYY.ZZZ.AAA/?a=toGSM"
AT+HTTPACTION=0
//Разное
AT+SAPBR=4,1//Узнать текущие настройки подключения
AT+SAPBR=0,1//Закрываем GPRS соединение
AT+SAPBR=2,1//Получаем сведения о соединении и IP адрес
//В ответе:
//Второй параметр:0 – соединение устанавливается, 1 – соединение установлено, 2 – соединение закрывается, 3 – нет соединения
//Третий параметр – IP адрес
//Инициализация
AT+CPIN? // Проверка готовности SIM-карты. |+CPIN: READY |OK
AT+CSQ // Уровень сигнала RSSI = 20 ед. (примерно -73 дБм), удовлетворительный уровень. |+CSQ: 20,0 |OK
AT+CREG? // Проверка наличия регистрации в сети GSM. |+CREG: 0,1 |OK
AT+CGATT? // Проверка доступа к услугам пакетной передачи данных. |+CGATT: 1 |OK
AT+CIPMODE=0 // Командный (нормальный) режим передачи данных. |OK
AT+CIPMUX=0 // Моносокет.(0 Single IP connection, 1 Multi IP connection) |OK
//Настройка контекста и открытие соединения
AT+CIPSTATUS// OK |STATE: IP INITIAL
AT+CSTT=”internet” // Настройка точки доступа. |OK
AT+CIPSTATUS// |OK |STATE: IP START
AT+CIICR // Активация контекста. |OK
AT+CIPSTATUS// |OK |STATE: IP GPRSACT
AT+CIFSR// |100.91.34.225
AT+CIPSTATUS// |OK |STATE: IP STATUS
AT+CIPSTART=”TCP”,”81.95.20.18”,2020 // Открытие соединения с удаленным сервером. |OK |CONNECT OK // Сообщение об успешном открытии соединения. ! Кавычки должны быть прямые (простые а не косые)
AT+CIPSTATUS// |OK
//Настройка сервера
AT+CGATT?//получить GPRS статус сервера |+CGATT: 1 |OK
AT+CIPSERVER=1,1234//запуск TCP сервера, слушающего порт 1234 |OK |SERVER OK (соединение установлено)
AT+CIFSR// получить локальный IP |10.78.33.227
AT+CIPSTATUS//запрос текущего статуса |OK |STATE: SERVER LISTENING (сервер сейчас слушает) |REMOTE IP: 10.78.103.220 (удаленный клиент 10.78.… подключен) |hello server (данные принятые от клиента)
AT+CIPSEND//посылает данные клиенту |> hello client |SEND OK
AT+CIPSERVER=0//только перестает слушать соединение еще оставляет активным |OK |SERVER CLOSE(сервер закрыт)
AT+CIPCLOSE// закрывает TCP соединение|CLOSE OK
//1. Инициализация
AT//пусть
AT+CPIN? // Проверка готовности SIM-карты. |+CPIN: READY |OK
AT+CSQ // Уровень сигнала RSSI = 20 ед. (примерно -73 дБм), удовлетворительный уровень. |+CSQ: 20,0 |OK
AT+CREG? // Проверка наличия регистрации в сети GSM. |+CREG: 0,1 |OK
AT+CGATT? // Проверка доступа к услугам пакетной передачи данных. |+CGATT: 1 |OK
//2. Режим работы стека
//мультисокет + командный режим
AT+CIPMUX=1 // Мультисокет. |OK
AT+CIPMODE=0 // Командный режим передачи данных. |OK
//на выбор
AT+CIPMUX=0 // Моносокет. |OK
AT+CIPMUX=1 // Мультисокет. |OK
AT+CIPMODE=0 // Командный режим передачи данных. |OK
AT+CIPMODE=1 // Прозрачный. |OK
//клиент = моно + командный
//сервер = моно + прозрачный
//3. Настройка контекста
AT+CIPSTATUS// OK |STATE: IP INITIAL
AT+CSTT="internet.beeline.ru","beeline","beeline" // Настройка точки доступа. +CSTT: "APN","USER","PWD" |OK
AT+CIPSTATUS// |OK |STATE: IP START
AT+CIICR // Активация контекста. |OK
AT+CIPSTATUS// |OK |STATE: IP GPRSACT
AT+CIFSR// Перевод состояния стека в «IP STATUS» с помощью запроса своего IP адреса |N.N.N.N
AT+CIPSTATUS// |OK |STATE: IP STATUS
//Настройка сервера
AT+CGATT?//получить GPRS статус сервера |+CGATT: 1 |OK
AT+CIPSERVER=1,1234//запуск TCP сервера, слушающего порт 1234 |OK |SERVER OK (соединение установлено)
AT+CIFSR// получить локальный IP |N.N.N.N
AT+CIPSTATUS//запрос текущего статуса |OK |STATE: SERVER LISTENING (сервер сейчас слушает) |REMOTE IP: 10.78.103.220 (удаленный клиент 10.78.… подключен) |hello server (данные принятые от клиента)
//Отправка данных клиенту
AT+CIPSEND//посылает данные клиенту |> hello client |SEND OK
//4. Открытие соединения
AT+CIPSTART="TCP","XXX.YYY.ZZZ.AAA",2020 // Подключение к удаленному серверу. |OK |CONNECT OK // Сообщение об успешном открытии соединения. ! Кавычки должны быть прямые (простые а не косые)
AT+CIPSTATUS// |OK
AT+CIPSEND? // Каков максимальный размер данных, которые можно послать в сторону удаленной стороны. Этот размер зависит от сети. | +CIPSEND: DDDD | OK
AT+CIPQSEND? // Нормальный режим передачи данных. В этом режиме каждая порция высланных данных подтверждается сообщением SEND OK, что означает, что сервер данные принял и подтвердил их получение. | +CIPQSEND: 0 | OK
AT+CIPSEND=100 // Передача 100 байт данных. // > // Приглашение. hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello // Размер данных не должен быть больше 1460 байт, и в конце блока данных следует байт 0x1A. | SEND OK // Данные успешно переданы.
AT+CIPSERVER=0//только перестает слушать соединение еще оставляет активным |OK |SERVER CLOSE(сервер закрыт)
AT+CIPCLOSE// закрывает TCP соединение|CLOSE OK
AT+CIPSHUT//деакивирует контекст | SHUT OK
AT+CSDT=?
0 Switch off detecting SIM card
1 Switch on detecting SIM card
AT+CSDT?// Switch on or off Detecting SIM Card
AT+CSDT=1
AT+CSMINS? //SIM Inserted Status Reporting: 1 Enable
AT+CSMINS=?
AT+CSMINS=1
Символ завершения текста в случае ввода текста смс и подобного ввода.
можно вставить ASCII код символа напрямую — 26.
В AL Terminal это работает - поле сверху справа и кнопка Отправить код
v1.